Channel encoding is used in communication systems to improve data transmission reliability, so as to ensure communication quality. Polar codes, proposed by Professor Arikan of Turkey, are the first kind of codes that are theoretically proven to be able to achieve the Shannon capacity and having low encoding and decoding complexity. Therefore, the polar codes have a great development and application potential in the fifth generation (5G) communication systems, and were accepted for control channel encoding at the 3GPP (3rd Generation Partnership Project) RAN 1 (RAN: Radio Access Network) #87 meeting.
In actual applications, information to be transmitted is encoded at the transmitting end, and received encoded information is decoded at the receiving end. Normally, polar codes have fixed lengths. For improving transmission efficiency, an encoder may need to perform rate matching after encoding, so as to obtain a polar code of any code length through the rate matching. The encoder performs rate matching by using bit repetition, puncturing, or shortening on a transmission channel. However, all the three rate matching manners in the prior art need to be implemented by using respective hardware. When all of the three rate matching manners are used, three different sets of hardware are required. Consequently, hardware implementation complexity is high, and equipment volume is large.